package com.yj.springbootmybatis.service;


import com.yj.springbootmybatis.pojo.*;
import com.yj.springbootmybatis.pojo.vo.CommentLevelCountsVO;
import com.yj.springbootmybatis.pojo.vo.ItemCommentsVO;
import com.yj.springbootmybatis.pojo.vo.ItemSearchVO;
import com.yj.springbootmybatis.pojo.vo.ShopcartVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface ItemService {


    /**
     * 根据商品id 查询商品
     * @param itemId
     * @return
     */
    Items queryItemByItemId(Integer itemId);

    /**
     * 根据商品id 查询商品对应的图片
     * @param itemId
     * @return
     */
    List<ItemsImg>queryItemImagByItemId(Integer itemId);

    /**
     * 根据商品id 查询对应的商品规格
     * @param itemId
     * @return
     */
    List<ItemsSpec>queryItemSpecByItemId(Integer itemId);

    /**
     * 根据商品id 查询商品参数
     * @param itemId
     * @return
     */
    ItemsParam queryItemParamByItemId(Integer itemId);

    /**
     * 根据商品id 查询商品的评价数
     */
    CommentLevelCountsVO queryCommentCounts(Integer itemId);

    /**
     * 根据商品id 评价等级获取评论
     */
    PageInfo queryCommentsByItemIdAndLevel(Integer itemId, Integer level, Integer pageNum, Integer pageSize);
    PageInfo queryItemByLikeItemName(Integer pageNum,Integer pageSize,String itemName,String sort);
    PageInfo queryItemByCatId(Integer pageNum,Integer pageSize,Integer catId,String sort);
    List<ShopcartVO> queryShopCartBySpecIds(@Param("list")List<String> specIds);

}
